package me.yangzhi.day07;

import android.os.Bundle;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.core.widget.NestedScrollView;

/**
 * 新闻详情活动类
 * 显示单条新闻的详细信息，包括标题、来源、时间和内容
 * 支持从主页面传入新闻数据并展示
 */
public class NewsDetailActivity extends AppCompatActivity {
    // UI组件
    private ImageView detailImage;      // 新闻图片
    private TextView detailTitle;       // 新闻标题
    private TextView detailSource;      // 新闻来源
    private TextView detailTime;        // 发布时间
    private TextView detailContent;     // 新闻内容
    private NestedScrollView scrollView; // 可滚动的内容容器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);  // 启用边缘到边缘显示
        setContentView(R.layout.activity_news_detail);

        // 设置和配置Toolbar
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            // 显示返回按钮
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setDisplayShowHomeEnabled(true);
        }

        // 设置Toolbar的返回按钮点击事件
        toolbar.setNavigationOnClickListener(v -> finish());

        // 初始化所有视图组件
        initViews();

        // 获取从主页面传递来的新闻数据并显示
        News news = (News) getIntent().getSerializableExtra("news");
        if (news != null) {
            displayNewsDetail(news);
        }
        
     
    }

    /**
     * 初始化视图组件
     * 通过findViewById获取布局中的所有需要的视图引用
     */
    private void initViews() {
        detailImage = findViewById(R.id.detailImage);
        detailTitle = findViewById(R.id.detailTitle);
        detailSource = findViewById(R.id.detailSource);
        detailTime = findViewById(R.id.detailTime);
        detailContent = findViewById(R.id.detailContent);
        scrollView = findViewById(R.id.scrollView);
    }

    /**
     * 显示新闻详细信息
     * @param news 要显示的新闻对象
     */
    private void displayNewsDetail(News news) {
        detailImage.setImageResource(news.getImageResId());
        // 设置新闻标题
        detailTitle.setText(news.getTitle());
        // 设置新闻来源
        detailSource.setText(news.getSource());
        // 设置发布时间
        detailTime.setText(news.getTime());
        // 设置新闻内容（这里使用摘要加上模拟的详细内容）
        detailContent.setText(news.getSummary() + "\n\n" +
            "这是新闻的详细内容。在实际应用中，这里应该显示完整的新闻内容。" +
            "可以包含更多的段落、图片、视频等内容。");
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
} 